import tensorflow as tf

# ①	手动输入一个二维的数组[[1.,3],[7.,5.],[9.,11.]]（6分）
erwei = tf.Variable([[1.,3],[7.,5.],[9.,11.]], name='erwei')

# ②	将erwei数组转换为一维的向量（6分）
yiwei = tf.reshape(erwei, [-1])  # ATTENTION [-1] for vector

# ③	对①按照要求算出每行和整个数组的平均值（6分）
erwei_m_rows = tf.reduce_mean(erwei, axis=1)
erwei_m = tf.reduce_mean(erwei)

# ④	对①及求第二行最大的值，第一列最小的值。（6分）
max_row2 = tf.reduce_max(erwei[1])
min_col1 = tf.reduce_min(erwei[:, 0])

# ⑤	对数组①进行数字翻倍，且输出结果（6分）
mul_erwei = erwei * 2

with tf.compat.v1.Session() as sess:
    sess.run(tf.compat.v1.global_variables_initializer())
    erwei_m_rows_v, erwei_m_v, max_row2_v, min_col1_v, mul_erwei_v = sess.run(
        [erwei_m_rows, erwei_m, max_row2, min_col1, mul_erwei]
    )

    # ③	对①按照要求算出每行和整个数组的平均值（6分）
    print('每行的平均值')
    print(erwei_m_rows_v)
    print(f'整个数组的平均值: {erwei_m_v}')

    # ④	对①及求第二行最大的值，第一列最小的值。（6分）
    print(f'第二行最大的值: {max_row2_v}')
    print(f'第一列最小的值: {min_col1_v}')

    # ⑤	对数组①进行数字翻倍，且输出结果（6分）
    print('对数组①进行数字翻倍')
    print(mul_erwei_v)
